package com.mxf.code.template_method.test02;

import com.mxf.code.request.IRequest;

/**
 * 抽象类定义骨架流程（查询商户信息，加签，http请求，验签）
 */
public abstract class AbstractMerchantService {

    final void handlerTempPlate(IRequest request) {
        // 查询商户信息
        queryMerchantInfo();
        // 加签
        signature();
        // http 请求
        httpRequest();
        // 验签
        verifySinature();
    }

    // 查询商户信息
    void queryMerchantInfo() {
    }

    // 加签
    void signature() {
    }

    // http 请求
    void httpRequest() {
    }

    // 验签
    void verifySinature() {
    }

    // Http是否走代理（提供给子类实现）
    abstract boolean isRequestByProxy();
}
